quartz: Make GdkQuartzScreen a plain object
authorMatthias Clasen <mclasen@redhat.com>
Fri, 17 Nov 2017 18:35:24 +0000 (13:35 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 17 Nov 2017 18:47:15 +0000 (13:47 -0500)
No need to derive this from GdkScreen anymore.

gdk/quartz/gdkquartzscreen.h
gdk/quartz/gdkscreen-quartz.c
gdk/quartz/gdkscreen-quartz.h

index f6a265914c6582ae13fd5aebb9bbc3ec700a9ec1..87a6e2eeb26d18f51529f4482f969f7307749f8c 100644 (file)
@@ -34,11 +34,7 @@ G_BEGIN_DECLS
 #define GDK_IS_QUARTZ_SCREEN_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_SCREEN))
 #define GDK_QUARTZ_SCREEN_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass))
 
-#ifdef GDK_COMPILATION
 typedef struct _GdkQuartzScreen GdkQuartzScreen;
-#else
-typedef GdkScreen GdkQuartzScreen;
-#endif
 typedef struct _GdkQuartzScreenClass GdkQuartzScreenClass;
 
 
index b4b8490e222ad235cf6b5aba971bcafb457aec3e..e1f12995cdfbd66d17fea870513f39cb54a3588d 100644 (file)
@@ -70,21 +70,17 @@ static void display_reconfiguration_callback (CGDirectDisplayID            displ
 
 static gint get_mm_from_pixels (NSScreen *screen, int pixels);
 
-G_DEFINE_TYPE (GdkQuartzScreen, gdk_quartz_screen, GDK_TYPE_SCREEN);
+G_DEFINE_TYPE (GdkQuartzScreen, gdk_quartz_screen, G_TYPE_OBJECT);
 
 static void
-gdk_quartz_screen_init (GdkQuartzScreen *quartz_screen)
+gdk_quartz_screen_init (GdkQuartzScreen *screen)
 {
-  GdkScreen *screen = GDK_SCREEN (quartz_screen);
   NSDictionary *dd = [[[NSScreen screens] objectAtIndex:0] deviceDescription];
   NSSize size = [[dd valueForKey:NSDeviceResolution] sizeValue];
 
-  _gdk_screen_set_resolution (screen, size.width);
+  gdk_quartz_screen_calculate_layout (screen);
 
-  gdk_quartz_screen_calculate_layout (quartz_screen);
-
-  CGDisplayRegisterReconfigurationCallback (display_reconfiguration_callback,
-                                            screen);
+  CGDisplayRegisterReconfigurationCallback (display_reconfiguration_callback, screen);
 
   quartz_screen->emit_monitors_changed = FALSE;
 }
@@ -100,8 +96,7 @@ gdk_quartz_screen_dispose (GObject *object)
       screen->screen_changed_id = 0;
     }
 
-  CGDisplayRemoveReconfigurationCallback (display_reconfiguration_callback,
-                                          screen);
+  CGDisplayRemoveReconfigurationCallback (display_reconfiguration_callback, screen);
 
   G_OBJECT_CLASS (gdk_quartz_screen_parent_class)->dispose (object);
 }
@@ -194,7 +189,7 @@ gdk_quartz_screen_calculate_layout (GdkQuartzScreen *screen)
 }
 
 void
-_gdk_quartz_screen_update_window_sizes (GdkScreen *screen)
+_gdk_quartz_screen_update_window_sizes (GdkQuartzScreen *screen)
 {
   GList *windows, *list;
 
@@ -206,9 +201,6 @@ _gdk_quartz_screen_update_window_sizes (GdkScreen *screen)
    * This data is updated when the monitor configuration is changed.
    */
 
-  /* FIXME: At some point, fetch the root window from GdkScreen.  But
-   * on OS X will we only have a single root window anyway.
-   */
   _gdk_root->x = 0;
   _gdk_root->y = 0;
   _gdk_root->abs_x = 0;
@@ -222,7 +214,7 @@ _gdk_quartz_screen_update_window_sizes (GdkScreen *screen)
 static void
 process_display_reconfiguration (GdkQuartzScreen *screen)
 {
-  gdk_quartz_screen_calculate_layout (GDK_QUARTZ_SCREEN (screen));
+  gdk_quartz_screen_calculate_layout (screen);
 
   _gdk_quartz_screen_update_window_sizes (GDK_SCREEN (screen));
 }
@@ -270,8 +262,7 @@ display_reconfiguration_callback (CGDirectDisplayID            display,
        */
       if (!screen->screen_changed_id)
         {
-          screen->screen_changed_id = gdk_threads_add_idle (screen_changed_idle,
-                                                            screen);
+          screen->screen_changed_id = gdk_threads_add_idle (screen_changed_idle, screen);
           g_source_set_name_by_id (screen->screen_changed_id, "[gtk+] screen_changed_idle");
         }
     }
index 5a1cfa33987176d5de7da2e72b4b48591c118937..174139353b9a34a68448b5ebf464489e1a3bb382 100644 (file)
 #ifndef __GDK_QUARTZ_SCREEN__
 #define __GDK_QUARTZ_SCREEN__
 
-#include <gdkscreenprivate.h>
-
 G_BEGIN_DECLS
 
 struct _GdkQuartzScreen
 {
-  GdkScreen parent_instance;
+  GObject parent_instance;
 
   GdkDisplay *display;
 
@@ -43,7 +41,7 @@ struct _GdkQuartzScreen
 
 struct _GdkQuartzScreenClass
 {
-  GdkScreenClass parent_class;
+  GObjectClass parent_class;
 };
 
 G_END_DECLS